#include <REGX52.H>
// 哈哈
unsigned char NumTable[17] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x6F};
void Delay(int x)		//@12.000MHz
{
	while(x--)
	{
		unsigned char i, j;
		i = 12;
		j = 169;
		do
		{
			while (--j);
		}while (--i);
	}
}

void display(unsigned char Location, unsigned char num)
{
	switch(Location){
		case 1:
			P2_4 =  1;P2_3 =  1;P2_2 =  1;break;
		case 2:
			P2_4 = 1;P2_3 = 1;P2_2 = 0;break;
		case 3:
			P2_4 = 1;P2_3 = 0;P2_2 = 1;break;
		case 4:
			P2_4 = 1;P2_3 = 0;P2_2 = 0;break;
		case 5:
			P2_4 = 0;P2_3 = 1;P2_2 = 1;break;
		case 6:
			P2_4 = 0;P2_3 = 1;P2_2 = 0;
			break;
		case 7:
			P2_4 = 0;P2_3 = 0;P2_2 = 1;break;
		case 8:
			P2_4 = 0;P2_3 = 0;P2_2 = 0;break;
	}
	P0 = *(NumTable+num);
//	Delay(1);
//	P0 = 0x00;
}
void main()
{	
	while(1)
	{
		int i, j;
		for(i = 1, j = 8;i<=j;i++, j--)
		{
			display(i, 6);
			Delay(50);
			display(j, 6); 
			Delay(50);
		}
//		display(1, 1);
//		display(2, 2);
//		display(3, 3);
	}
}